//package aboutTime;
//
//import java.time.LocalDateTime;
//import java.util.ArrayList;
//import java.util.List;
//
//public class Demo420answer {
//    ​    public static void main(String[] args) {
//​        // 初始化 A 集合
//​        List<Light> A = new ArrayList<>();
//​        A.add(new Light(LocalDateTime.parse("2020-01-01T00:04:00"), LocalDateTime.parse("2020-01-01T00:06:00")));
//​        A.add(new Light(LocalDateTime.parse("2020-01-01T00:01:05"), LocalDateTime.parse("2020-01-01T00:03:15")));
//​        A.add(new Light(LocalDateTime.parse("2020-01-01T00:09:00"), LocalDateTime.parse("2020-01-01T00:10:00")));
//​        A.add(new Light(LocalDateTime.parse("2020-01-01T00:07:35"), LocalDateTime.parse("2020-01-01T00:08:40")));
//​        A.add(new Light(LocalDateTime.parse("2020-01-01T00:12:00"), LocalDateTime.parse("2020-01-01T00:17:00")));
//​        A.add(new Light(LocalDateTime.parse("2020-01-01T00:12:05"), LocalDateTime.parse("2020-01-01T00:13:10")));
//​        A.add(new Light(LocalDateTime.parse("2020-01-01T00:19:00"), LocalDateTime.parse("2020-01-01T00:21:00")));
//​        A.add(new Light(LocalDateTime.parse("2020-01-01T00:15:20"), LocalDateTime.parse("2020-01-01T00:20:45")));
//
//        // 对 A 集合进行排序
//        A.sort((a, b) -> a.begintime.compareTo(b.begintime));
//
//        // 初始化结果集合
//        List<Light> result = new ArrayList<>();
//
//        // 处理 A 集合，求时间维度上的并集
//        Light current = A.get(0);
//        for (int i = 1; i < A.size(); i++) {
//            Light next = A.get(i);
//            if (current.endtime.isAfter(next.begintime)) {
//                current.endtime = current.endtime.isAfter(next.endtime) ? current.endtime : next.endtime;
//            } else {
//                result.add(current);
//                current = next;
//            }
//        }
//        result.add(current);
//
//        // 输出结果
//        for (Light light : result) {
//            System.out.println(light);
//        }
//    }
//
//    static class Light {
//        LocalDateTime begintime;
//        LocalDateTime endtime;
//
//        public Light(LocalDateTime begintime, LocalDateTime endtime) {
//            this.begintime = begintime;
//            this.endtime = endtime;
//        }
//
//        @Override
//        public String toString() {
//            return "Light{" +
//                    "begintime=" + begintime +
//                    ", endtime=" + endtime +
//                    '}';
//        }
//    }
//
//
//}
